Soru & Cevap

Tek 'Activity'de üç ayrı bilgi gösterme

17.04.2016 - 09:38

Merhaba arkadaşlar. Benim yapacağım bir uygulamamda A ile  B isminde iki adet Activity var. A Activity sinde üç adet  Button var (Buttonlar x,y,z olsun). B Activity sinde ListView var. A Activity sindeki x butonuna tıklayınca B Activity sindeki ListView e  bir isim listesi gelecek. y buttonuna tıklayıonca ayrı isimler, z buttonuna tıklayınca da ayrı isimler listelenecek. Bunu nasıl yapabilirim? Kod olarak yardımcı olursanız çok sevinirim. Şimdiden teşekkürler.

8 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-13625-1459601876.jpg
fatihdemir21
18.04.2016 - 07:57
Hocam merhaba ben fatih..aslında sorum tam olarak şöyle; ben bir grup sms uygulaması yapıyorum. Aile Arkadaşlar ve Diğer diye üç ayrı grup olacak dolayısıyla üç ayrı activity olacak. Benim istediğim A activity sindeki x y z butonları ile gruplardaki kişileri B activity sindeki listview e aktarmak. Yani listview den listview e aktarma olacak. Örneğin x butonuna tıklayınca aile grubundaki kişiler B activity sine aktarılacak. Keza y butonuna basınca arkadaşlar grubu, z butonuna basınca diğer grubu B ye yansıtılcak.. bunu nasıl yapabilirim..
Serdar Şen
18.04.2016 - 12:44
cevabımı güncelledim Fatih.
picture-57989-1451678910.jpg
serdarşen
17.04.2016 - 11:41

Merhaba Fatih, bunun için CustomListviewAdapter' e ihtiyacın var. A Activitiy'sinde tıklanan butona göre B Activity'sini başlatmak üzere bir intent tetiklenir ve intent içerisinde B Activitiy'sine listeleyeceği içeriğide göndeririz (Bundle ile olabilir emin değilim). Daha sonra B Activity içerisine gelen veriyle CustomListViewAdapter nesnesi üretiriz.

Görsel kaldırıldı.

Update------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

tmm, şimdi elimizde iki kavram var Grup ve Kişi. Öncelikle tavsiyem bu iki kavramın özellikleirine uygun kendimize has Grup ve Kisi adında birer model sınıfı yazmamız bu modellerin içerisindeki setter ve getter'lar ile Grup ve Kisi nesneleri üretip özelliklerini tanımlayabiliriz. Tabiki Grup içerinde Kisi nesnelerini de tutacak bir List lazım olur. Daha sonra örneğin gruplar listesindeki Aile adında bir Grup nesnesine tıkladığımda ikinci Activity' ye bu nesneyi veya id'sini gönderir (emin değilim).  Bide sen verilerini nerede saklamak istediğine göre SQLLite, SharedPreference gibi seçenekler var. Kolay gelsin. 

örnek model: (not: ad, soyad, tel_no' yu oluşturucu metod içerisinde de alabilirsin setter yerine):

public class Kisi {

    private String ad;
    private String soyad;
    private String tel_no;

    public void setAd(String ad) {
        this.ad = ad;
    }
    
    public void setSoyad(String soyad) {
        this.soyad = soyad;
    }

    public void setTel_no(String tel_no) {
        this.tel_no = tel_no;
    }

    public String getAd() {
        return ad;
    }    
    
    public String getSoyad() {
        return soyad;
    }
    
    public String getTel_no() {
        return tel_no;
    }
    
}

 

Update--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Şimdi şu sayfanın el altına doğru olan özel adaptörü init etme örneğine göre diyeyim. https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-301/listview-ozellestirme

final ListView listemiz = (ListView) findViewById(R.id.liste);
    OzelAdapter adaptorumuz=new OzelAdapter(this, kisiler);
    listemiz.setAdapter(adaptorumuz);

Bu örnekteki gibi bir tane OzelAdapter'imizi farklı kişiler veya grup nesnesiyle üretiriz (bunu adaptör sınıfımızda kendimiz belirliyoruz). Yani bir adaptör yeterli önemli olan o adaptörü hangi parametrelerle ürettiğimiz. 

/sites/default/files/cevaplar/dosya/2020/file-adapter.png
Fatih Demir
18.04.2016 - 02:39
Çok teşekkür ederim hocam.. bir sorum daha olacak. Aile, arkadaşlar ve Diğer adında üç ayrı activity ye isimleri kulanıcı manuel olarak ekleyecek. Şimdi şöyle olsa mesela tek activity de üç ayrı arrayadapter e isimleri kaydetsek ( aile array adapteri ayrı, arkadaşlar ayrı, diğer ayrı) x butonu ile aile arryından, y butonu ile arkadaş arrayından, z butonu ile diğer arrayından bilgi çekebilir miyiz...
Serdar Şen
18.04.2016 - 08:51
bişey değiil cevabımı güncelledim.